package count.jewels.from.stoneas;
/**
 * @Time 2020/1/2
 * @author 王光浩
 * @Need 给出两个字符串，统计第二个字符串中拥有第一个字符串中字符的个数（第一个字符串字符不重复）。
 * @Thinging 使用boolean型数组。数组长度为58，遍历第一个字符串，将所得字符ASCII-65作为下标，将该下标的数组值设置为
 *           true，然后遍第二个字符串，同样将字符-65作为下标获取数组中的值，然后如果为true，则宝石计数器数字加一。
 *           复杂度：时间复杂度O（n+m），空间复杂度O（1）
 */
public class MyMethodTwo {
	public int numJewelsInStones(String J, String S) {
		boolean[] jewel=new boolean[58];    //默认值为false
		int len1=J.length();
		int len2=S.length();
		int count=0;
		//将jewel加入到数组中
		for(int i=0;i<len1;i++) {
			jewel[J.charAt(i)-65]=true;
		}
		//统计jewel的数目
		for(int i=0;i<len2;i++) {
			if(jewel[S.charAt(i)-65])
				count++;
		}
		return count;
	}

}
